module.exports = {
  docs: [
    'quick-start',
    {
      type: 'category',
      label: 'Getting Started',
      collapsed: false,
      link: {
        type: 'doc',
        id: 'guide/introduction',
      },
      items: [
        'guide/first-entity',
        'guide/relationships',
        'guide/project-setup',
        'guide/advanced',
        'guide/type-safety',
      ],
    },
    {
      type: 'category',
      label: 'Fundamentals',
      link: {
        type: 'generated-index',
        title: 'Fundamentals',
        slug: '/fundamentals',
        keywords: ['fundamentals'],
      },
      items: [
        'defining-entities',
        'relationships',
        'entity-manager',
        'entity-helper',
        'unit-of-work',
        'identity-map',
        'collections',
        'query-conditions',
        'populating-relations',
        'type-safe-relations',
        'transactions',
        'repositories',
        'inheritance-mapping',
        'cascading',
        'query-builder',
        'raw-queries',
      ],
    },
    {
      type: 'category',
      label: 'Advanced Features',
      link: {
        type: 'generated-index',
        title: 'Advanced Features',
        slug: '/advanced',
        keywords: ['advanced'],
      },
      items: [
        'filters',
        'deployment',
        'caching',
        'logging',
        'propagation',
        'loading-strategies',
        'dataloaders',
        'serializing',
        'events',
        'composite-keys',
        'custom-types',
        'virtual-entities',
        'embeddables',
        'entity-schema',
        'json-properties',
        'metadata-providers',
        'metadata-cache',
        'schema-generator',
        'entity-generator',
        'naming-strategy',
        'property-validation',
        'migrations',
        'seeding',
        'read-connections',
      ],
    },
    {
      type: 'category',
      label: 'Recipes',
      link: {
        type: 'generated-index',
        title: 'Recipes',
        slug: '/recipes',
        keywords: ['recipes'],
      },
      items: [
        'schema-first-guide',
        'usage-with-sql',
        'usage-with-mongo',
        'usage-with-nestjs',
        'usage-with-js',
        'usage-with-transpilers',
        'usage-with-adminjs',
        'usage-with-jest',
        'entity-constructors',
        'multiple-schemas',
        'using-bigint-pks',
        'custom-driver',
      ],
    },
    {
      type: 'category',
      label: 'Reference',
      link: {
        type: 'generated-index',
        title: 'Reference',
        slug: '/reference',
        keywords: ['api reference'],
      },
      items: [
        { type: 'link', label: 'EntityManager API', href: '/api/core/class/EntityManager' },
        { type: 'link', label: 'EntityRepository API', href: '/api/core/class/EntityRepository' },
        { type: 'link', label: 'QueryBuilder API', href: '/api/knex/class/QueryBuilder' },
        'decorators',
        'configuration',
      ],
    },
    {
      type: 'category',
      label: 'Example Integrations',
      link: {
        type: 'generated-index',
        title: 'Example Integrations',
        slug: '/examples',
        keywords: ['examples integrations'],
      },
      items: [
        { type: 'link', label: 'Fastify + SQLite + TypeScript', href: 'https://github.com/mikro-orm/guide' },
        { type: 'link', label: 'RealWorld example app (Nest + MySQL)', href: 'https://github.com/mikro-orm/nestjs-realworld-example-app' },
        { type: 'link', label: 'Express + MongoDB + TypeScript', href: 'https://github.com/mikro-orm/express-ts-example-app' },
        { type: 'link', label: 'NestJS + MySQL + TypeScript', href: 'https://github.com/mikro-orm/nestjs-example-app' },
        { type: 'link', label: 'Express + SQLite + JavaScript', href: 'https://github.com/mikro-orm/express-js-example-app' },
        { type: 'link', label: 'Koa + SQLite + TypeScript', href: 'https://github.com/mikro-orm/koa-ts-example-app' },
        { type: 'link', label: 'Inversify + PostgreSQL', href: 'https://github.com/PodaruDragos/inversify-example-app' },
        { type: 'link', label: 'NextJS + MySQL', href: 'https://github.com/jonahallibone/mikro-orm-nextjs' },
        { type: 'link', label: 'GraphQL + PostgreSQL + TypeScript', href: 'https://github.com/driescroons/mikro-orm-graphql-example' },
        { type: 'link', label: 'Accounts.js REST and GraphQL authentication + SQLite', href: 'https://github.com/darkbasic/mikro-orm-accounts-example' },
        { type: 'link', label: 'Nest + Shopify + PostgreSQL + GraphQL', href: 'https://github.com/Cloudshelf/Shopify_CSConnector' },
        { type: 'link', label: 'Elysia.js + libSQL + Bun', href: 'https://github.com/mikro-orm/elysia-bun-example-app' },
        { type: 'link', label: 'Electron.js + PostgreSQL', href: 'https://github.com/adnanlah/electron-mikro-orm-example-app' },
      ],
    },
    {
      type: 'category',
      label: 'Upgrading',
      link: {
        type: 'generated-index',
        title: 'Upgrading',
        slug: '/upgrading',
        keywords: ['upgrading'],
      },
      items: [
        'upgrading-v5-to-v6',
        'upgrading-v4-to-v5',
        'upgrading-v3-to-v4',
        'upgrading-v2-to-v3',
      ],
    },
  ],
};
